package cn.edu.ecut.threads;

/**
 * 1、“线程外包” : 通过创建 Thread类型的实例并启动线程，在Thread实例的run方法中调用了另外一个对象的 run方法(Runnable实现类类型的实例)
 * 2、通过创建 Runnable实现类的实例，只能创建一个带有run方法的实例，它是可以被线程对象所运行的，所以它的类型是 Runnable (可运行的)
 */
public class ThreadTest5 {

	public static void main(String[] args) {
		
		String name = "ecuter" ;
		
		Runnable target = new Runnable() {
			@Override
			public void run() {
				for( int i = 1 ; i < 6 ; i++ ) {
					System.out.println( Thread.currentThread() + " : " + i );
				}
			}
		};
		
		// 创建一个线程对象 ( 注意是创建Thread类型的实例 )
		Thread t = new Thread( target , name );
		
		System.out.println( t.getName() );
		
		/* Thread 类中 run方法的实现过程:
		 public void run() {
	        if (target != null) {
	            target.run();
	        }
	     } */
		t.start(); // 启动线程( 线程启动后就会执行该线程对象的run方法) 

	}

}
